SQL Server 数据库常用操作:多表联查(JOIN...ON语句的使用) 您所在的位置:网站首页 inner join多张表 SQL Server 数据库常用操作:多表联查(JOIN...ON语句的使用)

SQL Server 数据库常用操作:多表联查(JOIN...ON语句的使用)

2024-01-20 06:02| 来源: 网络整理| 查看: 265

1.使用传统连接方式查询 (1). 有两张表Book(BookID,BookName,TypeID,AuthorID,…),BookType(TypeID,TypeName),查询每本书的书名和图书类型。

SELECT BookName, TypeName FROM Book, BookType WHERE Book.TypeID = BookType.TypeID

(2). 有三张表Book(BookID,BookName,TypeID,AuthorID,…),BookType(TypeID,TypeName),Author(AuthorID,AuthorName,…)查询每本书的书名、图书类型、作者姓名。

SELECT BookName, TypeName, AuthorName FROM Book, BookType, Author WHERE Book.TypeID = BookType.TypeID AND Book.AuthorID = Author.AuthorID

2.使用SQL连接方式(JIOIN…ON)查询   使用SQL连接方式时,必须将要连接的所有表或者视图放在 FROM 后面,用JOIN…ON连接起来,将所有表或者视图用 JOIN 连接,连接条件放在 ON 后面。 SQL连接说明

连接方式说明内连接(INNER)系统默认的连接方式外连接(OUTER)分为左外连接(LEFT)、右外连接(RIGHT)、完全外连接(FULL)自然连接或者交叉连接(CROSS)生成一个笛卡尔积

外连接(OUTER)说明

方式说明左外连接(LEFT)结果集包括满足条件的行和左表的所有行右外连接(RIGHT)结果集包括满足条件的行和右表的所有行完全外连接(FULL)结果集包括满足条件的行和左右两表的所有行

例(1)可以改为

SELECT BookName, TypeName FROM Book JOIN BookType ON Book.TypeID = BookType.TypeID

但是如果将例(2)改为

SELECT BookName, TypeName, AuthorName FROM Book JOIN BookType JOIN Author ON Book.TypeID = BookType.TypeID ON Book.AuthorID = Author.AuthorID

则会出现 在这里插入图片描述 因为三个表是两两连接。JOIN连接和ON条件是有顺序的,当顺序改变结果就不一定正确。JOIN…ON默认连接方式是内连接。 可以改为

SELECT BookName, TypeName, AuthorName FROM Book JOIN BookType ON Book.TypeID = BookType.TypeID JOIN Author ON Book.AuthorID = Author.AuthorID

或者

SELECT BookName, TypeName, AuthorName FROM BookType RIGHT JOIN Book LEFT JOIN Author ON Book.AuthorID = Author.AuthorID ON Book.TypeID = BookType.TypeID

下一篇:SQL Server 数据库常用操作:子查询(嵌套查询)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有